package com.wxd.service;

import java.util.List;

import net.sf.json.JSONArray;

import com.wxd.bean.CarBaseInfo;
import com.wxd.bean.CarChassis;
import com.wxd.bean.CarDriver;
import com.wxd.bean.CarEngine;
import com.wxd.bean.CarImage;
import com.wxd.bean.CarVehicle;

public interface CarInfoService {
	/**
	 * 获得车辆总记录条数
	 * @return
	 */
	public int getCarRecourdNum();
	
	/**
	 * 获得车辆基本信息
	 * @return
	 */
	public JSONArray  getCarBaseInfo(int startNum,int limitNum);
	
	/**
	 * 增加车辆基本信息
	 * @param carBaseInfo
	 * @return
	 */
	public boolean saveCarBaseInfo(CarBaseInfo carBaseInfo);
	
	/**
	 * 修改车辆基本信息
	 * @param carBaseInfo
	 * @return
	 */
	public boolean editCarBaseInfo(CarBaseInfo carBaseInfo);
	
	/**
	 * 保存车辆图片
	 * @param uid
	 * @param imagePath
	 * @return
	 */
	public boolean saveCarImages(List<CarImage> list);
	
	/**
	 * 保存车辆驾驶员信息
	 * @param uid
	 * @param cd
	 * @return
	 */
	public boolean saveCarDriver(CarDriver cd);
	
	/**
	 * 删除驾驶员信息
	 * @param uid
	 * @param id
	 * @return
	 */
	public boolean delCarDriver(String uid,String id);
	
	/**
	 * 修改驾驶员信息
	 * @param cd
	 * @return
	 */
	public boolean editCarDriverInfo(CarDriver cd);
	
	/**
	 * 添加车辆技术概况及参数
	 * @param carVehicle
	 * @return
	 */
	public boolean addVehicleInfo(CarVehicle carVehicle);
	
	/**
	 * 修改车辆技术概况及参数
	 * @param carVehicle
	 * @return
	 */
	public boolean editVehicleInfo(CarVehicle carVehicle);
	
	/**
	 * 添加发动机技术参数
	 * @return
	 */
	public boolean addEngineInfo(CarEngine carEngine);
	
	/**
	 * 修改发动机技术参数
	 * @param carEngine
	 * @return
	 */
	public boolean editEngineInfo(CarEngine carEngine);
	/**
	 * 添加地盘技术参数
	 * @param carChassis
	 * @return
	 */
	public boolean addChassisInfo(CarChassis carChassis);
	
	/**
	 * 修改地盘技术参数
	 * @param carChassis
	 * @return
	 */
	public boolean editChassisInfo(CarChassis carChassis);
	
	/**
	 * 根据唯一标示获得车辆基本信息
	 * @param uid
	 * @return
	 */
	public CarBaseInfo getCarBaseInfoBean(String uid);
	
	/**
	 * 根据唯一标示获得
	 * @param uid
	 * @return
	 */
	public CarChassis getCarChassisBean(String uid);
	/**
	 * 获得车辆驾驶员信息
	 * @param uid
	 * @return
	 */
	public List<CarDriver> getCarDriverBeanList(String uid);
	/**
	 * 获得发动机技术参数
	 * @param uid
	 * @return
	 */
	public CarEngine getCarEngineBean(String uid);
	/**
	 * 获得车辆技术概况及参数表
	 * @param uid
	 * @return
	 */
	public CarVehicle getCarVehicleBean(String uid);
	
	/**
	 * 获得车辆照片路径列表
	 * @param uid
	 * @return
	 */
	public List<CarImage> getCarImages(String uid);
	
	/**
	 * 删除车辆信息
	 * @param uid
	 * @return
	 */
	public boolean delCarInfo(String[] uid);
	
	/**
	 * 删除车辆图片
	 * @param uid
	 * @param url
	 * @return
	 */
	public boolean delCarImage(String uid,String id);
	
	/**
	 * 获得驾驶员列表
	 * @param uid
	 * @param id
	 * @return
	 */
	public CarDriver getCarDriverBeanList(String uid,String id);
	
	
	
	//-------------------------以下为combo中使用的下拉选项中查找数据的方法-------------------------
	
	public JSONArray getComboCarUnitList();
	public JSONArray getComboVehicleTypeList();
	public JSONArray getComboVehicleTechnologyLevelList();
	public JSONArray getComboFuelTypeList();
	public JSONArray getComboCarLevelTypeList();
	public JSONArray getComboUsePropertyList();
	public JSONArray getComboCarCompanyList();
	
	public JSONArray getComboDrivingPermitTypeList();
	
	public JSONArray getComboVehicleCategoryList();
	public JSONArray getComboDriveFormList();
	public JSONArray getComboEnginePositionList();
	public JSONArray getComboCabCarList();
	
	public JSONArray getComboFormList();
	public JSONArray getComboCylinderArrangementList();
	public JSONArray getComboBoreAndStrokeList();
	public JSONArray getComboCompressionRatioList();
	public JSONArray getComboStartupModeList();
	public JSONArray getComboOilTypesList();
	public JSONArray getComboOilTypes02List();
	
	public JSONArray getComboClutchList();
	public JSONArray getComboTransmissionList();
	public JSONArray getComboShaftList();
	public JSONArray getComboReductionRatioList();
	public JSONArray getComboFrontSuspensionList();
	public JSONArray getComboAfterSuspensionList();
	public JSONArray getComboTireSizeList();
	public JSONArray getComboSpareTireList();
	public JSONArray getComboSteeringGearList();
	public JSONArray getComboBrakeFormBeforeList();
	public JSONArray getComboBrakingAfterList();
}
